.class public Lxlgridview/PullableGridView;
.super Landroid/widget/GridView;
.source "PullableGridView.java"

# interfaces
.implements Lxlgridview/Pullable;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .locals 0
    .param p1, "context"    # Landroid/content/Context;

    .prologue
    .line 12
    invoke-direct {p0, p1}, Landroid/widget/GridView;-><init>(Landroid/content/Context;)V

    .line 13
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .locals 0
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "attrs"    # Landroid/util/AttributeSet;

    .prologue
    .line 17
    invoke-direct {p0, p1, p2}, Landroid/widget/GridView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    .line 18
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .locals 0
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "attrs"    # Landroid/util/AttributeSet;
    .param p3, "defStyle"    # I

    .prologue
    .line 22
    invoke-direct {p0, p1, p2, p3}, Landroid/widget/GridView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 23
    return-void
.end method


# virtual methods
.method public canPullDown()Z
    .locals 3

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 28
    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getCount()I

    move-result v2

    if-nez v2, :cond_1

    .line 47
    :cond_0
    :goto_0
    return v0

    .line 33
    :cond_1
    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getFirstVisiblePosition()I

    move-result v2

    if-nez v2, :cond_3

    .line 34
    invoke-virtual {p0, v1}, Lxlgridview/PullableGridView;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    if-eqz v2, :cond_2

    .line 36
    invoke-virtual {p0, v1}, Lxlgridview/PullableGridView;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    invoke-virtual {v2}, Landroid/view/View;->getTop()I

    move-result v2

    if-gez v2, :cond_0

    move v0, v1

    .line 40
    goto :goto_0

    :cond_2
    move v0, v1

    .line 44
    goto :goto_0

    :cond_3
    move v0, v1

    .line 47
    goto :goto_0
.end method

.method public canPullUp()Z
    .locals 3

    .prologue
    const/4 v0, 0x1

    .line 53
    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getCount()I

    move-result v1

    if-nez v1, :cond_1

    .line 67
    :cond_0
    :goto_0
    return v0

    .line 57
    :cond_1
    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getLastVisiblePosition()I

    move-result v1

    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getCount()I

    move-result v2

    add-int/lit8 v2, v2, -0x1

    if-ne v1, v2, :cond_2

    .line 60
    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getLastVisiblePosition()I

    move-result v1

    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getFirstVisiblePosition()I

    move-result v2

    sub-int/2addr v1, v2

    invoke-virtual {p0, v1}, Lxlgridview/PullableGridView;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    if-eqz v1, :cond_2

    .line 61
    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getLastVisiblePosition()I

    move-result v1

    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getFirstVisiblePosition()I

    move-result v2

    sub-int/2addr v1, v2

    invoke-virtual {p0, v1}, Lxlgridview/PullableGridView;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    invoke-virtual {v1}, Landroid/view/View;->getBottom()I

    move-result v1

    invoke-virtual {p0}, Lxlgridview/PullableGridView;->getMeasuredHeight()I

    move-result v2

    if-le v1, v2, :cond_0

    .line 67
    :cond_2
    const/4 v0, 0x0

    goto :goto_0
.end method
